#!/bin/bash

# 加载配置文件
source config.ini

# 服务器的 Redfish API 基础 URL
REDFISH_BASE_URL="https://${REDISH_IP}/redfish/v1"
# 系统 ID，根据实际情况修改
SYSTEM_ID="System.Embedded.1"
# BIOS 设置的 URL
BIOS_URL="${REDFISH_BASE_URL}/Systems/1/Bios"
# 导出的文件名
EXPORT_FILE="bios_settings_export.json"

# 发送 GET 请求获取 BIOS 设置
RESPONSE=$(curl -k -s -u "${USERNAME}:${PASSWORD}" "$BIOS_URL")

# 检查响应状态码
HTTP_CODE=$(curl -k -o /dev/null -s -w "%{http_code}" -u "${USERNAME}:${PASSWORD}" "$BIOS_URL")

case $HTTP_CODE in
    200)
        # 使用 jq 格式化响应内容并保存到文件
        echo "$RESPONSE" | jq '.' > "$EXPORT_FILE"
        echo "BIOS 设置已成功导出到 $EXPORT_FILE 文件。"
        ;;
    401)
        echo "身份验证失败，请检查用户名和密码，或联系管理员解锁账户。"
        ;;
    404)
        echo "未找到指定资源，请检查 URI 路径、API 版本和服务器配置。"
        ;;
    *)
        echo "请求失败，HTTP 状态码：$HTTP_CODE。响应内容：$RESPONSE"
        ;;
esac
